<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Reference Documentation</title>
		<link rel="stylesheet" href="css/stylesheet.css" type="text/css">
		<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
		<link rel="home" href="index.html" title="Reference Documentation">
		<link rel="next" href="spring-introduction.html" title="Part&nbsp;I.&nbsp;Overview of Spring Framework">
		<!--Begin Google Analytics code-->
		<script type="text/javascript">
			var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
			document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

		</script>
		<script type="text/javascript">
			var pageTracker = _gat._getTracker("UA-2728886-3");
			pageTracker._setDomainName("none");
			pageTracker._setAllowLinker(true);
			pageTracker._trackPageview();

		</script><!--End Google Analytics code-->
	</head>
	<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
		<div class="navheader">
			<table width="100%" summary="Navigation header">
				<tr>
					<th colspan="3" align="center">Reference Documentation</th>
				</tr>
				<tr>
					<td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="spring-introduction.html">Next</a></td>
				</tr>
			</table>
			<hr>
		</div>
		<div class="book" lang="en">
			<div class="titlepage">
				<div>
					<div>
						<span class="productname">BOCOM(HK) Framework Reference
							<br>
						</span>
					</div>
					<div>
						<h1 class="title"><a name="d0e1"></a>Reference Documentation</h1>
					</div>
					<div>
						<p class="releaseinfo">
							1.0
						</p>
					</div>
					<div>
						<p class="copyright">
							Copyright &copy; 2010-2011
						</p>
					</div>
					<div>
						<div class="legalnotice">
							<a name="d0e153"></a>
							<p>
							2010交通银行版权所有 未经许可不得转载
							</p>
						</div>
					</div>
				</div>
				<hr>
			</div>
			<div class="toc">
				<p>
					<b>Table of Contents</b>
				</p>
				<dl>
					<dt>
						<span class="part"><a href="spring-introduction.html">I. Overview of BOCOM Framework</a></span>
					</dt>
					<dd>
						<dl>
							<dt>
								<span class="chapter"><a href="overview.html">1. Introduction to Spring Framework</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="overview.html#overview-dependency-injection">1.1. Dependency Injection and Inversion of Control</a></span>
									</dt>
									<dt>
										<span class="section"><a href="overview.html#overview-modules">1.2. Modules</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="overview.html#d0e281">1.2.1. Core Container</a></span>
											</dt>
											<dt>
												<span class="section"><a href="overview.html#d0e320">1.2.2. Data Access/Integration</a></span>
											</dt>
											<dt>
												<span class="section"><a href="overview.html#d0e369">1.2.3. Web</a></span>
											</dt>
											<dt>
												<span class="section"><a href="overview.html#d0e405">1.2.4. AOP and Instrumentation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="overview.html#d0e428">1.2.5. Test</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="overview.html#overview-usagescenarios">1.3. Usage scenarios</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="overview.html#dependency-management">1.3.1. Dependency Management and Naming Conventions</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="overview.html#d0e682">1.3.1.1. Spring Dependencies and Depending on Spring</a></span>
													</dt>
													<dt>
														<span class="section"><a href="overview.html#d0e689">1.3.1.2. Maven Dependency Management</a></span>
													</dt>
													<dt>
														<span class="section"><a href="overview.html#d0e724">1.3.1.3. Ivy Dependency Management</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="overview.html#d0e748">1.3.2. Logging</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="overview.html#d0e772">1.3.2.1. Not Using Commons Logging</a></span>
													</dt>
													<dt>
														<span class="section"><a href="overview.html#d0e792">1.3.2.2. Using SLF4J</a></span>
													</dt>
													<dt>
														<span class="section"><a href="overview.html#d0e831">1.3.2.3. Using Log4J</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
								</dl>
							</dd>
						</dl>
					</dd>
					<dt>
						<span class="part"><a href="spring-whats-new.html">II. What's New in Spring 3</a></span>
					</dt>
					<dd>
						<dl>
							<dt>
								<span class="chapter"><a href="new-in-3.0.html">2. New Features and Enhancements in Spring 3.0</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="new-in-3.0.html#new-in-3.0-intro">2.1. Java 5</a></span>
									</dt>
									<dt>
										<span class="section"><a href="new-in-3.0.html#new-in-3.0-improved-docs">2.2. Improved documentation</a></span>
									</dt>
									<dt>
										<span class="section"><a href="new-in-3.0.html#new-in-3.0-new-tutorial">2.3. New articles and tutorials</a></span>
									</dt>
									<dt>
										<span class="section"><a href="new-in-3.0.html#new-in-3.0-modules-build">2.4. New module organization and build system</a></span>
									</dt>
									<dt>
										<span class="section"><a href="new-in-3.0.html#new-in-3.0-features-overview">2.5. Overview of new features</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="new-in-3.0.html#new-feature-java5">2.5.1. Core APIs updated for Java 5</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.0.html#new-feature-el">2.5.2. Spring Expression Language</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.0.html#new-feature-java-config">2.5.3. The Inversion of Control (IoC) container</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="new-in-3.0.html#new-java-configuration">2.5.3.1. Java based bean metadata</a></span>
													</dt>
													<dt>
														<span class="section"><a href="new-in-3.0.html#d0e1151">2.5.3.2. Defining bean metadata within components</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="new-in-3.0.html#new-feature-convert-and-format">2.5.4. General purpose type conversion system and field formatting
													system</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.0.html#new-feature-oxm">2.5.5. The Data Tier</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.0.html#new-feature-rest">2.5.6. The Web Tier</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="new-in-3.0.html#d0e1193">2.5.6.1. Comprehensive REST support</a></span>
													</dt>
													<dt>
														<span class="section"><a href="new-in-3.0.html#d0e1226">2.5.6.2. @MVC additions</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="new-in-3.0.html#new-feature-validation">2.5.7. Declarative model validation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.0.html#new-feature-jee-6">2.5.8. Early support for Java EE 6</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.0.html#new-feature-embedded-databases">2.5.9. Support for embedded databases</a></span>
											</dt>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="new-in-3.1.html">3. New Features and Enhancements in Spring 3.1</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="new-in-3.1.html#new-in-3.1-features-overview">3.1. Overview of new features</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1281">3.1.1. Cache Abstraction</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1293">3.1.2. Bean Definition Profiles</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1313">3.1.3. Environment Abstraction</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1325">3.1.4. PropertySource Abstraction</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1343">3.1.5. Code equivalents for Spring's XML namespaces</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1369">3.1.6. Builder-style APIs for code-based Hibernate configuration</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1392">3.1.7. TestContext framework support for @Configuration classes and bean definition profiles</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1416">3.1.8. c: namespace for more concise constructor injection</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1423">3.1.9. Support for injection against non-standard JavaBeans setters</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1428">3.1.10. Support for Servlet 3 code-based configuration of Servlet Container</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1450">3.1.11. Support for Servlet 3 MultipartResolver</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1457">3.1.12. JPA EntityManagerFactory bootstrapping without persistence.xml</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1477">3.1.13. New HandlerMethod-based Support Classes For Annotated Controller Processing</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1533">3.1.14. Consumes and Produces @RequestMapping Conditions</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1551">3.1.15. Working With URI Template Variables In Controller Methods</a></span>
											</dt>
											<dt>
												<span class="section"><a href="new-in-3.1.html#d0e1569">3.1.16. Validation For @RequestBody Method Arguments</a></span>
											</dt>
										</dl>
									</dd>
								</dl>
							</dd>
						</dl>
					</dd>
					<dt>
						<span class="part"><a href="spring-core.html">III. Core Technologies</a></span>
					</dt>
					<dd>
						<dl>
							<dt>
								<span class="chapter"><a href="beans.html">4. The IoC container</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="beans.html#beans-introduction">4.1. Introduction to the Spring IoC container and beans</a></span>
									</dt>
									<dt>
										<span class="section"><a href="beans.html#beans-basics">4.2. Container overview</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-metadata">4.2.1. Configuration metadata</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-instantiation">4.2.2. Instantiating a container</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-xml-import">4.2.2.1. Composing XML-based configuration metadata</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-client">4.2.3. Using the container</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#beans-definition">4.3. Bean overview</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#beans-beanname">4.3.1. Naming beans</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-beanname-alias">4.3.1.1. Aliasing a bean outside the bean definition</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-class">4.3.2. Instantiating beans</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-class-ctor">4.3.2.1. Instantiation with a constructor</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-class-static-factory-method">4.3.2.2. Instantiation with a static factory method</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-class-instance-factory-method">4.3.2.3. Instantiation using an instance factory method</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#beans-dependencies">4.4. Dependencies</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-collaborators">4.4.1. Dependency injection</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-constructor-injection">4.4.1.1. Constructor-based dependency injection</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-setter-injection">4.4.1.2. Setter-based dependency injection</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#d0e2647">4.4.1.3. Dependency resolution process</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-some-examples">4.4.1.4. Examples of dependency injection</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-properties-detailed">4.4.2. Dependencies and configuration in detail</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-value-element">4.4.2.1. Straight values (primitives, Strings, and so
															on)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-ref-element">4.4.2.2. References to other beans (collaborators)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-inner-beans">4.4.2.3. Inner beans</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-collection-elements">4.4.2.4. Collections</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-null-element">4.4.2.5. Null and empty string values</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-p-namespace">4.4.2.6. XML shortcut with the p-namespace</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-c-namespace">4.4.2.7. XML shortcut with the c-namespace</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-compound-property-names">4.4.2.8. Compound property names</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-dependson">4.4.3. Using depends-on</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-lazy-init">4.4.4. Lazy-initialized
													beans</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-autowire">4.4.5. Autowiring collaborators</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-autowired-exceptions">4.4.5.1. Limitations and disadvantages of autowiring</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-autowire-candidate">4.4.5.2. Excluding a bean from autowiring</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-method-injection">4.4.6. Method injection</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-lookup-method-injection">4.4.6.1. Lookup method injection</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-arbitrary-method-replacement">4.4.6.2. Arbitrary method replacement</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#beans-factory-scopes">4.5. Bean scopes</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-scopes-singleton">4.5.1. The singleton scope</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-scopes-prototype">4.5.2. The prototype scope</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-scopes-sing-prot-interaction">4.5.3. Singleton beans with prototype-bean dependencies</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-scopes-other">4.5.4. Request, session, and global session scopes</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-scopes-other-web-configuration">4.5.4.1. Initial web configuration</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-scopes-request">4.5.4.2. Request scope</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-scopes-session">4.5.4.3. Session scope</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-scopes-global-session">4.5.4.4. Global session scope</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-scopes-other-injection">4.5.4.5. Scoped beans as dependencies</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-scopes-custom">4.5.5. Custom scopes</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-scopes-custom-creating">4.5.5.1. Creating a custom scope</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-scopes-custom-using">4.5.5.2. Using a custom scope</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#beans-factory-nature">4.6. Customizing the nature of a bean</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-lifecycle">4.6.1. Lifecycle callbacks</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-lifecycle-initializingbean">4.6.1.1. Initialization callbacks</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-lifecycle-disposablebean">4.6.1.2. Destruction callbacks</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-lifecycle-default-init-destroy-methods">4.6.1.3. Default initialization and destroy methods</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-lifecycle-combined-effects">4.6.1.4. Combining lifecycle mechanisms</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-lifecycle-processor">4.6.1.5. Startup and shutdown callbacks</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-shutdown">4.6.1.6. Shutting down the Spring IoC container gracefully in non-web
															applications</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-aware">4.6.2. ApplicationContextAware and
													BeanNameAware</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#aware-list">4.6.3. Other Aware interfaces</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#beans-child-bean-definitions">4.7. Bean definition inheritance</a></span>
									</dt>
									<dt>
										<span class="section"><a href="beans.html#beans-factory-extension">4.8. Container Extension Points</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-extension-bpp">4.8.1. Customizing beans using a
													BeanPostProcessor</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-extension-bpp-examples-hw">4.8.1.1. Example: Hello World,
															BeanPostProcessor-style</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-extension-bpp-examples-rabpp">4.8.1.2. Example: The
															RequiredAnnotationBeanPostProcessor</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-extension-factory-postprocessors">4.8.2. Customizing configuration metadata with a
													BeanFactoryPostProcessor</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-placeholderconfigurer">4.8.2.1. Example: the
															PropertyPlaceholderConfigurer</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-factory-overrideconfigurer">4.8.2.2. Example: the
															PropertyOverrideConfigurer</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-factory-extension-factorybean">4.8.3. Customizing instantiation logic with a
													FactoryBean</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#beans-annotation-config">4.9. Annotation-based container configuration</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#beans-required-annotation">4.9.1. @Required</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-autowired-annotation">4.9.2. @Autowired and @Inject</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-autowired-annotation-qualifiers">4.9.3. Fine-tuning annotation-based autowiring with qualifiers</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-custom-autowire-configurer">4.9.4. CustomAutowireConfigurer</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-resource-annotation">4.9.5. @Resource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-postconstruct-and-predestroy-annotations">4.9.6. @PostConstruct and
													@PreDestroy</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#beans-classpath-scanning">4.10. Classpath scanning and managed components</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#beans-stereotype-annotations">4.10.1. @Component and further stereotype
													annotations</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-scanning-autodetection">4.10.2. Automatically detecting classes and registering bean
													definitions</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-scanning-filters">4.10.3. Using filters to customize scanning</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-factorybeans-annotations">4.10.4. Defining bean metadata within components</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-scanning-name-generator">4.10.5. Naming autodetected components</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-scanning-scope-resolver">4.10.6. Providing a scope for autodetected components</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-scanning-qualifiers">4.10.7. Providing qualifier metadata with annotations</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#beans-standard-annotations">4.11. Using JSR 330 standard annotations</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#beans-inject-named">4.11.1. Dependency Injection with @Inject and @Named</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-named">4.11.2. @Named: a standard equivalent to the @Component annotation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-standard-annotations-limitations">4.11.3. Limitations of the standard approach</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#beans-java">4.12. Java-based container configuration</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#beans-java-basic-concepts">4.12.1. Basic concepts: @Configuration and
													@Bean</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-java-instantiating-container">4.12.2. Instantiating the Spring container using
													AnnotationConfigApplicationContext</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-java-instantiating-container-contstructor">4.12.2.1. Simple construction</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-java-instantiating-container-register">4.12.2.2. Building the container programmatically using
															register(Class&lt;?&gt;...)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-java-instantiating-container-scan">4.12.2.3. Enabling component scanning with
															scan(String...)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-java-instantiating-container-web">4.12.2.4. Support for web applications with
															AnnotationConfigWebApplicationContext</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-java-composing-configuration-classes">4.12.3. Composing Java-based configurations</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-java-using-import">4.12.3.1. Using the @Import annotation</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-java-combining">4.12.3.2. Combining Java and XML configuration</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-java-bean-annotation">4.12.4. Using the @Bean annotation</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="beans.html#beans-java-declaring-a-bean">4.12.4.1. Declaring a bean</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-java-injecting-dependencies">4.12.4.2. Injecting dependencies</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-java-lifecycle-callbacks">4.12.4.3. Receiving lifecycle callbacks</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-java-specifying-bean-scope">4.12.4.4. Specifying bean scope</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-java-customizing-bean-naming">4.12.4.5. Customizing bean naming</a></span>
													</dt>
													<dt>
														<span class="section"><a href="beans.html#beans-java-bean-aliasing">4.12.4.6. Bean aliasing</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="beans.html#beans-java-further-information-java-config">4.12.5. Further information about how Java-based configuration works
													internally</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#context-load-time-weaver">4.13. Registering a LoadTimeWeaver</a></span>
									</dt>
									<dt>
										<span class="section"><a href="beans.html#context-introduction">4.14. Additional Capabilities of the
											ApplicationContext</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#context-functionality-messagesource">4.14.1. Internationalization using
													MessageSource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#context-functionality-events">4.14.2. Standard and Custom Events</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#context-functionality-resources">4.14.3. Convenient access to low-level resources</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#context-create">4.14.4. Convenient ApplicationContext
													instantiation for web applications</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#d0e9393">4.14.5. Deploying a Spring ApplicationContext as a J2EE RAR file</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="beans.html#beans-beanfactory">4.15. The BeanFactory</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="beans.html#context-introduction-ctx-vs-beanfactory">4.15.1. BeanFactory or
													ApplicationContext?</a></span>
											</dt>
											<dt>
												<span class="section"><a href="beans.html#beans-servicelocator">4.15.2. Glue code and the evil singleton</a></span>
											</dt>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="resources.html">5. Resources</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="resources.html#resources-introduction">5.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="resources.html#resources-resource">5.2. The Resource interface</a></span>
									</dt>
									<dt>
										<span class="section"><a href="resources.html#resources-implementations">5.3. Built-in Resource implementations</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="resources.html#resources-implementations-urlresource">5.3.1. UrlResource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="resources.html#resources-implementations-classpathresource">5.3.2. ClassPathResource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="resources.html#resources-implementations-filesystemresource">5.3.3. FileSystemResource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="resources.html#resources-implementations-servletcontextresource">5.3.4. ServletContextResource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="resources.html#resources-implementations-inputstreamresource">5.3.5. InputStreamResource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="resources.html#resources-implementations-bytearrayresource">5.3.6. ByteArrayResource</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="resources.html#resources-resourceloader">5.4. The ResourceLoader</a></span>
									</dt>
									<dt>
										<span class="section"><a href="resources.html#resources-resourceloaderaware">5.5. The ResourceLoaderAware interface</a></span>
									</dt>
									<dt>
										<span class="section"><a href="resources.html#resources-as-dependencies">5.6. Resources as dependencies</a></span>
									</dt>
									<dt>
										<span class="section"><a href="resources.html#resources-app-ctx">5.7. Application contexts and Resource paths</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="resources.html#resources-app-ctx-construction">5.7.1. Constructing application contexts</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="resources.html#resources-app-ctx-classpathxml">5.7.1.1. Constructing ClassPathXmlApplicationContext instances - shortcuts</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="resources.html#resources-app-ctx-wildcards-in-resource-paths">5.7.2. Wildcards in application context constructor resource paths</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="resources.html#resources-app-ctx-ant-patterns-in-paths">5.7.2.1. Ant-style Patterns</a></span>
													</dt>
													<dt>
														<span class="section"><a href="resources.html#resources-classpath-wildcards">5.7.2.2. The classpath*: prefix</a></span>
													</dt>
													<dt>
														<span class="section"><a href="resources.html#resources-wildcards-in-path-other-stuff">5.7.2.3. Other notes relating to wildcards</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="resources.html#resources-filesystemresource-caveats">5.7.3. FileSystemResource caveats</a></span>
											</dt>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="validation.html">6. Validation, Data Binding, and Type Conversion</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="validation.html#validation-introduction">6.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="validation.html#validator">6.2. Validation using Spring's Validator
											interface</a></span>
									</dt>
									<dt>
										<span class="section"><a href="validation.html#validation-conversion">6.3. Resolving codes to error messages</a></span>
									</dt>
									<dt>
										<span class="section"><a href="validation.html#beans-beans">6.4. Bean manipulation and the
											BeanWrapper</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="validation.html#beans-beans-conventions">6.4.1. Setting and getting basic and nested properties</a></span>
											</dt>
											<dt>
												<span class="section"><a href="validation.html#beans-beans-conversion">6.4.2. Built-in PropertyEditor
													implementations</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="validation.html#beans-beans-conversion-customeditor-registration">6.4.2.1. Registering additional custom
															PropertyEditors</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="validation.html#core-convert">6.5. Spring 3 Type Conversion</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="validation.html#core-convert-Converter-API">6.5.1. Converter SPI</a></span>
											</dt>
											<dt>
												<span class="section"><a href="validation.html#core-convert-ConverterFactory-SPI">6.5.2. ConverterFactory</a></span>
											</dt>
											<dt>
												<span class="section"><a href="validation.html#core-convert-GenericConverter-SPI">6.5.3. GenericConverter</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="validation.html#core-convert-ConditionalGenericConverter-SPI">6.5.3.1. ConditionalGenericConverter</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="validation.html#core-convert-ConversionService-API">6.5.4. ConversionService API</a></span>
											</dt>
											<dt>
												<span class="section"><a href="validation.html#core-convert-Spring-config">6.5.5. Configuring a ConversionService</a></span>
											</dt>
											<dt>
												<span class="section"><a href="validation.html#core-convert-programmatic-usage">6.5.6. Using a ConversionService programatically</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="validation.html#format">6.6. Spring 3 Field Formatting</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="validation.html#format-Formatter-SPI">6.6.1. Formatter SPI</a></span>
											</dt>
											<dt>
												<span class="section"><a href="validation.html#format-CustomFormatAnnotations">6.6.2. Annotation-driven Formatting</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="validation.html#format-annotations-api">6.6.2.1. Format Annotation API</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="validation.html#format-FormatterRegistry-SPI">6.6.3. FormatterRegistry SPI</a></span>
											</dt>
											<dt>
												<span class="section"><a href="validation.html#format-FormatterRegistrar-SPI">6.6.4. FormatterRegistrar SPI</a></span>
											</dt>
											<dt>
												<span class="section"><a href="validation.html#format-configuring-FormattingConversionService">6.6.5. Configuring Formatting in Spring MVC</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="validation.html#validation-beanvalidation">6.7. Spring 3 Validation</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="validation.html#validation-beanvalidation-overview">6.7.1. Overview of the JSR-303 Bean Validation API</a></span>
											</dt>
											<dt>
												<span class="section"><a href="validation.html#validation-beanvalidation-spring">6.7.2. Configuring a Bean Validation Implementation</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="validation.html#validation-beanvalidation-spring-inject">6.7.2.1. Injecting a Validator</a></span>
													</dt>
													<dt>
														<span class="section"><a href="validation.html#validation-beanvalidation-spring-constraints">6.7.2.2. Configuring Custom Constraints</a></span>
													</dt>
													<dt>
														<span class="section"><a href="validation.html#validation-beanvalidation-spring-other">6.7.2.3. Additional Configuration Options</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="validation.html#validation-binder">6.7.3. Configuring a DataBinder</a></span>
											</dt>
											<dt>
												<span class="section"><a href="validation.html#validation-mvc">6.7.4. Spring MVC 3 Validation</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="validation.html#validation-mvc-triggering">6.7.4.1. Triggering @Controller Input Validation</a></span>
													</dt>
													<dt>
														<span class="section"><a href="validation.html#validation-mvc-configuring">6.7.4.2. Configuring a Validator for use by Spring MVC</a></span>
													</dt>
													<dt>
														<span class="section"><a href="validation.html#validation-mvc-jsr303">6.7.4.3. Configuring a JSR-303 Validator for use by Spring MVC</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="expressions.html">7. Spring Expression Language (SpEL)</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="expressions.html#expressions-intro">7.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="expressions.html#expressions-features">7.2. Feature Overview</a></span>
									</dt>
									<dt>
										<span class="section"><a href="expressions.html#expressions-evaluation">7.3. Expression Evaluation using Spring's Expression Interface</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="expressions.html#d0e12394">7.3.1. The EvaluationContext interface</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="expressions.html#d0e12449">7.3.1.1. Type Conversion</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="expressions.html#expressions-beandef">7.4. Expression support for defining bean definitions</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="expressions.html#expressions-beandef-xml-based">7.4.1. XML based configuration</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#expressions-beandef-annotation-based">7.4.2. Annotation-based configuration</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="expressions.html#expressions-language-ref">7.5. Language Reference</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="expressions.html#expressions-ref-literal">7.5.1. Literal expressions</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12535">7.5.2. Properties, Arrays, Lists, Maps, Indexers</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12553">7.5.3. Inline lists</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12562">7.5.4. Array construction</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12571">7.5.5. Methods</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12578">7.5.6. Operators</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="expressions.html#d0e12581">7.5.6.1. Relational operators</a></span>
													</dt>
													<dt>
														<span class="section"><a href="expressions.html#d0e12594">7.5.6.2. Logical operators</a></span>
													</dt>
													<dt>
														<span class="section"><a href="expressions.html#d0e12602">7.5.6.3. Mathematical operators</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="expressions.html#d0e12610">7.5.7. Assignment</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12624">7.5.8. Types</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12640">7.5.9. Constructors</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#expressions-ref-variables">7.5.10. Variables</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="expressions.html#d0e12654">7.5.10.1. The #this and #root variables</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="expressions.html#expressions-ref-functions">7.5.11. Functions</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12680">7.5.12. Bean references</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12687">7.5.13. Ternary Operator (If-Then-Else)</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12700">7.5.14. The Elvis Operator</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12718">7.5.15. Safe Navigation operator</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12744">7.5.16. Collection Selection</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12773">7.5.17. Collection Projection</a></span>
											</dt>
											<dt>
												<span class="section"><a href="expressions.html#d0e12788">7.5.18. Expression templating</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="expressions.html#expressions-example-classes">7.6. Classes used in the examples</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="aop.html">8. Aspect Oriented Programming with Spring</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="aop.html#aop-introduction">8.1. Introduction</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop.html#aop-introduction-defn">8.1.1. AOP concepts</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-introduction-spring-defn">8.1.2. Spring AOP capabilities and goals</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-introduction-proxies">8.1.3. AOP Proxies</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop.html#aop-ataspectj">8.2. @AspectJ support</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop.html#aop-aspectj-support">8.2.1. Enabling @AspectJ Support</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-at-aspectj">8.2.2. Declaring an aspect</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-pointcuts">8.2.3. Declaring a pointcut</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="aop.html#aop-pointcuts-designators">8.2.3.1. Supported Pointcut Designators</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-pointcuts-combining">8.2.3.2. Combining pointcut expressions</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-common-pointcuts">8.2.3.3. Sharing common pointcut definitions</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-pointcuts-examples">8.2.3.4. Examples</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#writing-good-pointcuts">8.2.3.5. Writing good pointcuts</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="aop.html#aop-advice">8.2.4. Declaring advice</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="aop.html#aop-advice-before">8.2.4.1. Before advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-advice-after-returning">8.2.4.2. After returning advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-advice-after-throwing">8.2.4.3. After throwing advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-advice-after-finally">8.2.4.4. After (finally) advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-ataspectj-around-advice">8.2.4.5. Around advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-ataspectj-advice-params">8.2.4.6. Advice parameters</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-ataspectj-advice-ordering">8.2.4.7. Advice ordering</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="aop.html#aop-introductions">8.2.5. Introductions</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-instantiation-models">8.2.6. Aspect instantiation models</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-ataspectj-example">8.2.7. Example</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop.html#aop-schema">8.3. Schema-based AOP support</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop.html#aop-schema-declaring-an-aspect">8.3.1. Declaring an aspect</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-schema-pointcuts">8.3.2. Declaring a pointcut</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-schema-advice">8.3.3. Declaring advice</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="aop.html#aop-schema-advice-before">8.3.3.1. Before advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-schema-advice-after-returning">8.3.3.2. After returning advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-schema-advice-after-throwing">8.3.3.3. After throwing advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-schema-advice-after-finally">8.3.3.4. After (finally) advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-schema-advice-around">8.3.3.5. Around advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-schema-params">8.3.3.6. Advice parameters</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-ordering">8.3.3.7. Advice ordering</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="aop.html#aop-schema-introductions">8.3.4. Introductions</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-schema-instatiation-models">8.3.5. Aspect instantiation models</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-schema-advisors">8.3.6. Advisors</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-schema-example">8.3.7. Example</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop.html#aop-choosing">8.4. Choosing which AOP declaration style to use</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop.html#aop-spring-or-aspectj">8.4.1. Spring AOP or full AspectJ?</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-ataspectj-or-xml">8.4.2. @AspectJ or XML for Spring AOP?</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop.html#aop-mixing-styles">8.5. Mixing aspect types</a></span>
									</dt>
									<dt>
										<span class="section"><a href="aop.html#aop-proxying">8.6. Proxying mechanisms</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop.html#aop-understanding-aop-proxies">8.6.1. Understanding AOP proxies</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop.html#aop-aspectj-programmatic">8.7. Programmatic creation of @AspectJ Proxies</a></span>
									</dt>
									<dt>
										<span class="section"><a href="aop.html#aop-using-aspectj">8.8. Using AspectJ with Spring applications</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop.html#aop-atconfigurable">8.8.1. Using AspectJ to dependency inject domain objects with
													Spring</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="aop.html#aop-configurable-testing">8.8.1.1. Unit testing @Configurable
															objects</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-configurable-container">8.8.1.2. Working with multiple application contexts</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="aop.html#aop-ajlib-other">8.8.2. Other Spring aspects for AspectJ</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-aj-configure">8.8.3. Configuring AspectJ aspects using Spring IoC</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop.html#aop-aj-ltw">8.8.4. Load-time weaving with AspectJ in the Spring Framework</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="aop.html#aop-aj-ltw-first-example">8.8.4.1. A first example</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-aj-ltw-the-aspects">8.8.4.2. Aspects</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-aj-ltw-aop_dot_xml">8.8.4.3. 'META-INF/aop.xml'</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-aj-ltw-libraries">8.8.4.4. Required libraries (JARS)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-aj-ltw-spring">8.8.4.5. Spring configuration</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop.html#aop-aj-ltw-environments">8.8.4.6. Environment-specific configuration</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop.html#aop-resources">8.9. Further Resources</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="aop-api.html">9. Spring AOP APIs</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="aop-api.html#aop-api-introduction">9.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="aop-api.html#aop-api-pointcuts">9.2. Pointcut API in Spring</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop-api.html#aop-api-concepts">9.2.1. Concepts</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-api-pointcut-ops">9.2.2. Operations on pointcuts</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-api-pointcuts-aspectj">9.2.3. AspectJ expression pointcuts</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-api-pointcuts-impls">9.2.4. Convenience pointcut implementations</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="aop-api.html#aop-api-pointcuts-static">9.2.4.1. Static pointcuts</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop-api.html#aop-api-pointcuts-dynamic">9.2.4.2. Dynamic pointcuts</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="aop-api.html#aop-api-pointcuts-superclasses">9.2.5. Pointcut superclasses</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-api-pointcuts-custom">9.2.6. Custom pointcuts</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop-api.html#aop-api-advice">9.3. Advice API in Spring</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop-api.html#aop-api-advice-lifecycle">9.3.1. Advice lifecycles</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-api-advice-types">9.3.2. Advice types in Spring</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="aop-api.html#aop-api-advice-around">9.3.2.1. Interception around advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop-api.html#aop-api-advice-before">9.3.2.2. Before advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop-api.html#aop-api-advice-throws">9.3.2.3. Throws advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop-api.html#aop-api-advice-after-returning">9.3.2.4. After Returning advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop-api.html#aop-api-advice-introduction">9.3.2.5. Introduction advice</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop-api.html#aop-api-advisor">9.4. Advisor API in Spring</a></span>
									</dt>
									<dt>
										<span class="section"><a href="aop-api.html#aop-pfb">9.5. Using the ProxyFactoryBean to create AOP proxies</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop-api.html#aop-pfb-1">9.5.1. Basics</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-pfb-2">9.5.2. JavaBean properties</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-pfb-proxy-types">9.5.3. JDK- and CGLIB-based proxies</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-api-proxying-intf">9.5.4. Proxying interfaces</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-api-proxying-class">9.5.5. Proxying classes</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-global-advisors">9.5.6. Using 'global' advisors</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop-api.html#aop-concise-proxy">9.6. Concise proxy definitions</a></span>
									</dt>
									<dt>
										<span class="section"><a href="aop-api.html#aop-prog">9.7. Creating AOP proxies programmatically with the ProxyFactory</a></span>
									</dt>
									<dt>
										<span class="section"><a href="aop-api.html#aop-api-advised">9.8. Manipulating advised objects</a></span>
									</dt>
									<dt>
										<span class="section"><a href="aop-api.html#aop-autoproxy">9.9. Using the "autoproxy" facility</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop-api.html#aop-autoproxy-choices">9.9.1. Autoproxy bean definitions</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="aop-api.html#aop-api-autoproxy">9.9.1.1. BeanNameAutoProxyCreator</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop-api.html#aop-api-autoproxy-default">9.9.1.2. DefaultAdvisorAutoProxyCreator</a></span>
													</dt>
													<dt>
														<span class="section"><a href="aop-api.html#aop-api-autoproxy-abstract">9.9.1.3. AbstractAdvisorAutoProxyCreator</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="aop-api.html#aop-autoproxy-metadata">9.9.2. Using metadata-driven auto-proxying</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop-api.html#aop-targetsource">9.10. Using TargetSources</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="aop-api.html#aop-ts-swap">9.10.1. Hot swappable target sources</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-ts-pool">9.10.2. Pooling target sources</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-ts-prototype">9.10.3. Prototype target sources</a></span>
											</dt>
											<dt>
												<span class="section"><a href="aop-api.html#aop-ts-threadlocal">9.10.4. ThreadLocal target sources</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="aop-api.html#aop-extensibility">9.11. Defining new Advice types</a></span>
									</dt>
									<dt>
										<span class="section"><a href="aop-api.html#aop-api-resources">9.12. Further resources</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="testing.html">10. Testing</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="testing.html#testing-introduction">10.1. Introduction to testing</a></span>
									</dt>
									<dt>
										<span class="section"><a href="testing.html#unit-testing">10.2. Unit testing</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="testing.html#mock-objects">10.2.1. Mock objects</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="testing.html#mock-objects-jndi">10.2.1.1. JNDI</a></span>
													</dt>
													<dt>
														<span class="section"><a href="testing.html#mock-objects-servlet">10.2.1.2. Servlet API</a></span>
													</dt>
													<dt>
														<span class="section"><a href="testing.html#mock-objects-portlet">10.2.1.3. Portlet API</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="testing.html#unit-testing-support-classes">10.2.2. Unit testing support classes</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="testing.html#unit-testing-utilities">10.2.2.1. General utilities</a></span>
													</dt>
													<dt>
														<span class="section"><a href="testing.html#unit-testing-spring-mvc">10.2.2.2. Spring MVC</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="testing.html#integration-testing">10.3. Integration testing</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="testing.html#integration-testing-overview">10.3.1. Overview</a></span>
											</dt>
											<dt>
												<span class="section"><a href="testing.html#integration-testing-goals">10.3.2. Goals of integration testing</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="testing.html#testing-ctx-management">10.3.2.1. Context management and caching</a></span>
													</dt>
													<dt>
														<span class="section"><a href="testing.html#testing-fixture-di">10.3.2.2. Dependency Injection of test fixtures</a></span>
													</dt>
													<dt>
														<span class="section"><a href="testing.html#testing-tx">10.3.2.3. Transaction management</a></span>
													</dt>
													<dt>
														<span class="section"><a href="testing.html#testing-support-classes">10.3.2.4. Support classes for integration testing</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="testing.html#integration-testing-support-jdbc">10.3.3. JDBC testing support</a></span>
											</dt>
											<dt>
												<span class="section"><a href="testing.html#integration-testing-annotations">10.3.4. Annotations</a></span>
											</dt>
											<dt>
												<span class="section"><a href="testing.html#testcontext-framework">10.3.5. Spring TestContext Framework</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="testing.html#testcontext-key-abstractions">10.3.5.1. Key abstractions</a></span>
													</dt>
													<dt>
														<span class="section"><a href="testing.html#testcontext-ctx-management">10.3.5.2. Context management and caching</a></span>
													</dt>
													<dt>
														<span class="section"><a href="testing.html#testcontext-fixture-di">10.3.5.3. Dependency Injection of test fixtures</a></span>
													</dt>
													<dt>
														<span class="section"><a href="testing.html#testcontext-tx">10.3.5.4. Transaction management</a></span>
													</dt>
													<dt>
														<span class="section"><a href="testing.html#testcontext-support-classes">10.3.5.5. TestContext support classes</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="testing.html#testing-examples-petclinic">10.3.6. PetClinic example</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="testing.html#testing-resources">10.4. Further Resources</a></span>
									</dt>
								</dl>
							</dd>
						</dl>
					</dd>
					<dt>
						<span class="part"><a href="spring-data-tier.html">IV. Data Access</a></span>
					</dt>
					<dd>
						<dl>
							<dt>
								<span class="chapter"><a href="transaction.html">11. Transaction Management</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="transaction.html#transaction-intro">11.1. Introduction to Spring Framework transaction management</a></span>
									</dt>
									<dt>
										<span class="section"><a href="transaction.html#transaction-motivation">11.2. Advantages of the Spring Framework's transaction support model</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="transaction.html#d0e19830">11.2.1. Global transactions</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#d0e19855">11.2.2. Local transactions</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#d0e19860">11.2.3. Spring Framework's consistent programming model</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="transaction.html#transaction-strategies">11.3. Understanding the Spring Framework transaction abstraction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="transaction.html#tx-resource-synchronization">11.4. Synchronizing resources with transactions</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="transaction.html#tx-resource-synchronization-high">11.4.1. High-level synchronization approach</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#tx-resource-synchronization-low">11.4.2. Low-level synchronization approach</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#tx-resource-synchronization-tadsp">11.4.3. TransactionAwareDataSourceProxy</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="transaction.html#transaction-declarative">11.5. Declarative transaction management</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="transaction.html#tx-decl-explained">11.5.1. Understanding the Spring Framework's declarative transaction
													implementation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#transaction-declarative-first-example">11.5.2. Example of declarative transaction implementation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#transaction-declarative-rolling-back">11.5.3. Rolling back a declarative transaction</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#transaction-declarative-diff-tx">11.5.4. Configuring different transactional semantics for different
													beans</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#transaction-declarative-txadvice-settings">11.5.5. &lt;tx:advice/&gt; settings</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#transaction-declarative-annotations">11.5.6. Using @Transactional</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="transaction.html#transaction-declarative-attransactional-settings">11.5.6.1. @Transactional settings</a></span>
													</dt>
													<dt>
														<span class="section"><a href="transaction.html#tx-multiple-tx-mgrs-with-attransactional">11.5.6.2. Multiple Transaction Managers with @Transactional</a></span>
													</dt>
													<dt>
														<span class="section"><a href="transaction.html#tx-custom-attributes">11.5.6.3. Custom shortcut annotations</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="transaction.html#tx-propagation">11.5.7. Transaction propagation</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="transaction.html#tx-propagation-required">11.5.7.1. Required</a></span>
													</dt>
													<dt>
														<span class="section"><a href="transaction.html#tx-propagation-requires_new">11.5.7.2. RequiresNew</a></span>
													</dt>
													<dt>
														<span class="section"><a href="transaction.html#tx-propagation-nested">11.5.7.3. Nested</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="transaction.html#transaction-declarative-applying-more-than-just-tx-advice">11.5.8. Advising transactional operations</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#transaction-declarative-aspectj">11.5.9. Using @Transactional with
													AspectJ</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="transaction.html#transaction-programmatic">11.6. Programmatic transaction management</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="transaction.html#tx-prog-template">11.6.1. Using the TransactionTemplate</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="transaction.html#tx-prog-template-settings">11.6.1.1. Specifying transaction settings</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="transaction.html#transaction-programmatic-ptm">11.6.2. Using the
													PlatformTransactionManager</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="transaction.html#tx-decl-vs-prog">11.7. Choosing between programmatic and declarative transaction
											management</a></span>
									</dt>
									<dt>
										<span class="section"><a href="transaction.html#transaction-application-server-integration">11.8. Application server-specific integration</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="transaction.html#transaction-application-server-integration-websphere">11.8.1. IBM WebSphere</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#transaction-application-server-integration-weblogic">11.8.2. BEA WebLogic Server</a></span>
											</dt>
											<dt>
												<span class="section"><a href="transaction.html#transaction-application-server-integration-oc4j">11.8.3. Oracle OC4J</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="transaction.html#transaction-solutions-to-common-problems">11.9. Solutions to common problems</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="transaction.html#transaction-solutions-to-common-problems-wrong-ptm">11.9.1. Use of the wrong transaction manager for a specific
													DataSource</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="transaction.html#transaction-resources">11.10. Further Resources</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="dao.html">12. DAO support</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="dao.html#dao-introduction">12.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="dao.html#dao-exceptions">12.2. Consistent exception hierarchy</a></span>
									</dt>
									<dt>
										<span class="section"><a href="dao.html#dao-annotations">12.3. Annotations used for configuring DAO or Repository classes</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="jdbc.html">13. Data access with JDBC</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="jdbc.html#jdbc-introduction">13.1. Introduction to Spring Framework JDBC</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-choose-style">13.1.1. Choosing an approach for JDBC database access</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-packages">13.1.2. Package hierarchy</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jdbc.html#jdbc-core">13.2. Using the JDBC core classes to control basic JDBC processing and
											error handling</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-JdbcTemplate">13.2.1. JdbcTemplate</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="jdbc.html#jdbc-JdbcTemplate-examples">13.2.1.1. Examples of JdbcTemplate class usage</a></span>
													</dt>
													<dt>
														<span class="section"><a href="jdbc.html#jdbc-JdbcTemplate-idioms">13.2.1.2. JdbcTemplate best practices</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-NamedParameterJdbcTemplate">13.2.2. NamedParameterJdbcTemplate</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-SimpleJdbcTemplate">13.2.3. SimpleJdbcTemplate</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-SQLExceptionTranslator">13.2.4. SQLExceptionTranslator</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-statements-executing">13.2.5. Executing statements</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-statements-querying">13.2.6. Running queries</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-updates">13.2.7. Updating the database</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-auto-genereted-keys">13.2.8. Retrieving auto-generated keys</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jdbc.html#jdbc-connections">13.3. Controlling database connections</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-datasource">13.3.1. DataSource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-DataSourceUtils">13.3.2. DataSourceUtils</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-SmartDataSource">13.3.3. SmartDataSource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-AbstractDataSource">13.3.4. AbstractDataSource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-SingleConnectionDataSource">13.3.5. SingleConnectionDataSource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-DriverManagerDataSource">13.3.6. DriverManagerDataSource</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-TransactionAwareDataSourceProxy">13.3.7. TransactionAwareDataSourceProxy</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-DataSourceTransactionManager">13.3.8. DataSourceTransactionManager</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-NativeJdbcExtractor">13.3.9. NativeJdbcExtractor</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jdbc.html#jdbc-advanced-jdbc">13.4. JDBC batch operations</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-batch-classic">13.4.1. Basic batch operations with the JdbcTemplate</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-batch-list">13.4.2. Batch operations with a List of objects</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-batch-multi">13.4.3. Batch operations with multiple batches</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jdbc.html#jdbc-simple-jdbc">13.5. Simplifying JDBC operations with the SimpleJdbc classes</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-simple-jdbc-insert-1">13.5.1. Inserting data using SimpleJdbcInsert</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-simple-jdbc-insert-2">13.5.2. Retrieving auto-generated keys using SimpleJdbcInsert</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-simple-jdbc-insert-3">13.5.3. Specifying columns for a SimpleJdbcInsert</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-simple-jdbc-parameters">13.5.4. Using SqlParameterSource to provide parameter values</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-simple-jdbc-call-1">13.5.5. Calling a stored procedure with SimpleJdbcCall</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-simple-jdbc-call-2">13.5.6. Explicitly declaring parameters to use for a
													SimpleJdbcCall</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-params">13.5.7. How to define SqlParameters</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-simple-jdbc-call-3">13.5.8. Calling a stored function using SimpleJdbcCall</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-simple-jdbc-call-4">13.5.9. Returning ResultSet/REF Cursor from a SimpleJdbcCall</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jdbc.html#jdbc-object">13.6. Modeling JDBC operations as Java objects</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-SqlQuery">13.6.1. SqlQuery</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-MappingSqlQuery">13.6.2. MappingSqlQuery</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-SqlUpdate">13.6.3. SqlUpdate</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-StoredProcedure">13.6.4. StoredProcedure</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jdbc.html#jdbc-parameter-handling">13.7. Common problems with parameter and data value handling</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-type-information">13.7.1. Providing SQL type information for parameters</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-lob">13.7.2. Handling BLOB and CLOB objects</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-in-clause">13.7.3. Passing in lists of values for IN clause</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-complex-types">13.7.4. Handling complex types for stored procedure calls</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jdbc.html#jdbc-embedded-database-support">13.8. Embedded database support</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-why-embedded-database">13.8.1. Why use an embedded database?</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-embedded-database-xml">13.8.2. Creating an embedded database instance using Spring XML</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-embedded-database-java">13.8.3. Creating an embedded database instance programmatically</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-embedded-database-extension">13.8.4. Extending the embedded database support</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-embedded-database-using-HSQL">13.8.5. Using HSQL</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-embedded-database-using-H2">13.8.6. Using H2</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-embedded-database-using-Derby">13.8.7. Using Derby</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jdbc.html#jdbc-embedded-database-dao-testing">13.8.8. Testing data access logic with an embedded database</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jdbc.html#d0e24923">13.9. Initializing a DataSource</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jdbc.html#d0e24937">13.9.1. Initializing a database instance using Spring XML</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="jdbc.html#d0e25001">13.9.1.1. Initialization of Other Components that Depend on the
															Database</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="orm.html">14. Object Relational Mapping (ORM) Data Access</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="orm.html#orm-introduction">14.1. Introduction to ORM with Spring</a></span>
									</dt>
									<dt>
										<span class="section"><a href="orm.html#orm-general">14.2. General ORM integration considerations</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="orm.html#orm-resource-mngmnt">14.2.1. Resource and transaction management</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-exception-translation">14.2.2. Exception translation</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="orm.html#orm-hibernate">14.3. Hibernate</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="orm.html#orm-session-factory-setup">14.3.1. SessionFactory setup in a Spring
													container</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-hibernate-straight">14.3.2. Implementing DAOs based on plain Hibernate 3 API</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-hibernate-tx-declarative">14.3.3. Declarative transaction demarcation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-hibernate-tx-programmatic">14.3.4. Programmatic transaction demarcation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-hibernate-tx-strategies">14.3.5. Transaction management strategies</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-hibernate-resources">14.3.6. Comparing container-managed and locally defined resources</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-hibernate-invalid-jdbc-access-error">14.3.7. Spurious application server warnings with Hibernate</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="orm.html#orm-jdo">14.4. JDO</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="orm.html#orm-jdo-setup">14.4.1. PersistenceManagerFactory
													setup</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-jdo-daos-straight">14.4.2. Implementing DAOs based on the plain JDO API</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-jdo-tx">14.4.3. Transaction management</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-jdo-dialect">14.4.4. JdoDialect</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="orm.html#orm-jpa">14.5. JPA</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="orm.html#orm-jpa-setup">14.5.1. Three options for JPA setup in a Spring environment</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="orm.html#orm-jpa-setup-lemfb">14.5.1.1. LocalEntityManagerFactoryBean</a></span>
													</dt>
													<dt>
														<span class="section"><a href="orm.html#orm-jpa-setup-jndi">14.5.1.2. Obtaining an EntityManagerFactory from
															JNDI</a></span>
													</dt>
													<dt>
														<span class="section"><a href="orm.html#orm-jpa-setup-lcemfb">14.5.1.3. LocalContainerEntityManagerFactoryBean</a></span>
													</dt>
													<dt>
														<span class="section"><a href="orm.html#orm-jpa-multiple-pu">14.5.1.4. Dealing with multiple persistence units</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="orm.html#orm-jpa-straight">14.5.2. Implementing DAOs based on plain JPA</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-jpa-tx">14.5.3. Transaction Management</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-jpa-dialect">14.5.4. JpaDialect</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="orm.html#orm-ibatis">14.6. iBATIS SQL Maps</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="orm.html#orm-ibatis-setup">14.6.1. Setting up the SqlMapClient</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-ibatis-template">14.6.2. Using SqlMapClientTemplate and
													SqlMapClientDaoSupport</a></span>
											</dt>
											<dt>
												<span class="section"><a href="orm.html#orm-ibatis-straight">14.6.3. Implementing DAOs based on plain iBATIS API</a></span>
											</dt>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="oxm.html">15. Marshalling XML using O/X Mappers</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="oxm.html#oxm-introduction">15.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="oxm.html#oxm-marshaller-unmarshaller">15.2. Marshaller and Unmarshaller</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="oxm.html#d0e26770">15.2.1. Marshaller</a></span>
											</dt>
											<dt>
												<span class="section"><a href="oxm.html#d0e26838">15.2.2. Unmarshaller</a></span>
											</dt>
											<dt>
												<span class="section"><a href="oxm.html#d0e26912">15.2.3. XmlMappingException</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="oxm.html#oxm-usage">15.3. Using Marshaller and Unmarshaller</a></span>
									</dt>
									<dt>
										<span class="section"><a href="oxm.html#d0e27003">15.4. XML Schema-based Configuration</a></span>
									</dt>
									<dt>
										<span class="section"><a href="oxm.html#oxm-jaxb">15.5. JAXB</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="oxm.html#oxm-jaxb2">15.5.1. Jaxb2Marshaller</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="oxm.html#oxm-jaxb2-xsd">15.5.1.1. XML Schema-based Configuration</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="oxm.html#oxm-castor">15.6. Castor</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="oxm.html#d0e27150">15.6.1. CastorMarshaller</a></span>
											</dt>
											<dt>
												<span class="section"><a href="oxm.html#d0e27166">15.6.2. Mapping</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="oxm.html#oxm-xmlbeans">15.7. XMLBeans</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="oxm.html#d0e27199">15.7.1. XmlBeansMarshaller</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="oxm.html#oxm-xmlbeans-xsd">15.7.1.1. XML Schema-based Configuration</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="oxm.html#oxm-jibx">15.8. JiBX</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="oxm.html#d0e27291">15.8.1. JibxMarshaller</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="oxm.html#oxm-jibx-xsd">15.8.1.1. XML Schema-based Configuration</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="oxm.html#oxm-xstream">15.9. XStream</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="oxm.html#d0e27396">15.9.1. XStreamMarshaller</a></span>
											</dt>
										</dl>
									</dd>
								</dl>
							</dd>
						</dl>
					</dd>
					<dt>
						<span class="part"><a href="spring-web.html">V. The Web</a></span>
					</dt>
					<dd>
						<dl>
							<dt>
								<span class="chapter"><a href="mvc.html">16. Web MVC framework</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="mvc.html#mvc-introduction">16.1. Introduction to Spring Web MVC framework</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mvc.html#mvc-features">16.1.1. Features of Spring Web MVC</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-introduction-pluggability">16.1.2. Pluggability of other MVC implementations</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mvc.html#mvc-servlet">16.2. The DispatcherServlet</a></span>
									</dt>
									<dt>
										<span class="section"><a href="mvc.html#mvc-controller">16.3. Implementing Controllers</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mvc.html#mvc-ann-controller">16.3.1. Defining a controller with
													@Controller</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-ann-requestmapping">16.3.2. Mapping Requests With
													@RequestMapping</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-requestmapping-uri-templates">16.3.2.1. URI Template Patterns</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-requestmapping-patterns">16.3.2.2. Path Patterns</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-requestmapping-consumes">16.3.2.3. Consumable Media Types</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-requestmapping-produces">16.3.2.4. Producible Media Types</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-requestmapping-params-and-headers">16.3.2.5. Request Parameters and Header Values</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="mvc.html#mvc-ann-methods">16.3.3. Defining @RequestMapping handler methods</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-arguments">16.3.3.1. Supported method argument types</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-return-types">16.3.3.2. Supported method return types</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-requestparam">16.3.3.3. Binding request parameters to method parameters with
															@RequestParam</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-requestbody">16.3.3.4. Mapping the request body with the @RequestBody
															annotation</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-responsebody">16.3.3.5. Mapping the response body with the @ResponseBody
															annotation</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-httpentity">16.3.3.6. Using HttpEntity&lt;?&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-modelattrib">16.3.3.7. Command and Form Objects</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-sessionattrib">16.3.3.8. Specifying attributes to store in a session with
															@SessionAttributes</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-cookievalue">16.3.3.9. Mapping cookie values with the @CookieValue annotation</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-requestheader">16.3.3.10. Mapping request header attributes with the @RequestHeader
															annotation</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-typeconversion">16.3.3.11. Method Parameters And Type Conversion</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-ann-webdatabinder">16.3.3.12. Customizing WebDataBinder
															initialization</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mvc.html#mvc-handlermapping">16.4. Handler mappings</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mvc.html#mvc-handlermapping-interceptor">16.4.1. Intercepting requests with a
													HandlerInterceptor</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mvc.html#mvc-viewresolver">16.5. Resolving views</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mvc.html#mvc-viewresolver-resolver">16.5.1. Resolving views with the
													ViewResolver interface</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-viewresolver-chaining">16.5.2. Chaining ViewResolvers</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-redirecting">16.5.3. Redirecting to views</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="mvc.html#mvc-redirecting-redirect-view">16.5.3.1. RedirectView</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-redirecting-redirect-prefix">16.5.3.2. The redirect: prefix</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mvc.html#mvc-redirecting-forward-prefix">16.5.3.3. The forward: prefix</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="mvc.html#mvc-multiple-representations">16.5.4. ContentNegotiatingViewResolver</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mvc.html#mvc-localeresolver">16.6. Using locales</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mvc.html#mvc-localeresolver-acceptheader">16.6.1. AcceptHeaderLocaleResolver</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-localeresolver-cookie">16.6.2. CookieLocaleResolver</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-localeresolver-session">16.6.3. SessionLocaleResolver</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-localeresolver-interceptor">16.6.4. LocaleChangeInterceptor</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mvc.html#mvc-themeresolver">16.7. Using themes</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mvc.html#mvc-themeresolver-introduction">16.7.1. Overview of themes</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-themeresolver-defining">16.7.2. Defining themes</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-themeresolver-resolving">16.7.3. Theme resolvers</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mvc.html#mvc-multipart">16.8. Spring's multipart (fileupload) support</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mvc.html#mvc-multipart-introduction">16.8.1. Introduction</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-multipart-resolver">16.8.2. Using the
													MultipartResolver</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-multipart-forms">16.8.3. Handling a file upload in a form</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mvc.html#mvc-exceptionhandlers">16.9. Handling exceptions</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mvc.html#d0e30561">16.9.1. HandlerExceptionResolver</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-ann-exceptionhandler">16.9.2. @ExceptionHandler</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mvc.html#mvc-coc">16.10. Convention over configuration support</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mvc.html#mvc-coc-ccnhm">16.10.1. The Controller
													ControllerClassNameHandlerMapping</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-coc-modelmap">16.10.2. The Model ModelMap
													(ModelAndView)</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-coc-r2vnt">16.10.3. The View -
													RequestToViewNameTranslator</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mvc.html#mvc-etag">16.11. ETag support</a></span>
									</dt>
									<dt>
										<span class="section"><a href="mvc.html#mvc-config">16.12. Configuring Spring MVC</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mvc.html#mvc-annotation-driven">16.12.1. mvc:annotation-driven</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-interceptors">16.12.2. mvc:interceptors</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-view-controller">16.12.3. mvc:view-controller</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-static-resources">16.12.4. mvc:resources</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mvc.html#mvc-default-servlet-handler">16.12.5. mvc:default-servlet-handler</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mvc.html#mvc-resources">16.13. More Spring Web MVC Resources</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="view.html">17. View technologies</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="view.html#view-introduction">17.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="view.html#view-jsp">17.2. JSP &amp; JSTL</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="view.html#view-jsp-resolver">17.2.1. View resolvers</a></span>
											</dt>
											<dt>
												<span class="section"><a href="view.html#view-jsp-jstl">17.2.2. 'Plain-old' JSPs versus JSTL</a></span>
											</dt>
											<dt>
												<span class="section"><a href="view.html#view-jsp-tags">17.2.3. Additional tags facilitating development</a></span>
											</dt>
											<dt>
												<span class="section"><a href="view.html#view-jsp-formtaglib">17.2.4. Using Spring's form tag library</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-configuration">17.2.4.1. Configuration</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-formtag">17.2.4.2. The form tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-inputtag">17.2.4.3. The input tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-checkboxtag">17.2.4.4. The checkbox tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-checkboxestag">17.2.4.5. The checkboxes tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-radiobuttontag">17.2.4.6. The radiobutton tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-radiobuttonstag">17.2.4.7. The radiobuttons tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-passwordtag">17.2.4.8. The password tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-selecttag">17.2.4.9. The select tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-optiontag">17.2.4.10. The option tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-optionstag">17.2.4.11. The options tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-textAreatag">17.2.4.12. The textarea tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-hiddeninputtag">17.2.4.13. The hidden tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jsp-formtaglib-errorstag">17.2.4.14. The errors tag</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#rest-method-conversion">17.2.4.15. HTTP Method Conversion</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="view.html#view-tiles">17.3. Tiles</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="view.html#view-tiles-dependencies">17.3.1. Dependencies</a></span>
											</dt>
											<dt>
												<span class="section"><a href="view.html#view-tiles-integrate">17.3.2. How to integrate Tiles</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="view.html#view-tiles-url">17.3.2.1.
															UrlBasedViewResolver </a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-tiles-resource">17.3.2.2.
															ResourceBundleViewResolver </a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-tiles-preparer">17.3.2.3. SimpleSpringPreparerFactory and
															SpringBeanPreparerFactory</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="view.html#view-velocity">17.4. Velocity &amp; FreeMarker</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="view.html#view-velocity-dependencies">17.4.1. Dependencies</a></span>
											</dt>
											<dt>
												<span class="section"><a href="view.html#view-velocity-contextconfig">17.4.2. Context configuration</a></span>
											</dt>
											<dt>
												<span class="section"><a href="view.html#view-velocity-createtemplates">17.4.3. Creating templates</a></span>
											</dt>
											<dt>
												<span class="section"><a href="view.html#view-velocity-advancedconfig">17.4.4. Advanced configuration</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="view.html#view-velocity-example-velocityproperties">17.4.4.1. velocity.properties</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#views-freemarker">17.4.4.2. FreeMarker</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="view.html#view-velocity-forms">17.4.5. Bind support and form handling</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="view.html#view-bind-macros">17.4.5.1. The bind macros</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-simple-binding">17.4.5.2. Simple binding</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#views-form-macros">17.4.5.3. Form input generation macros</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#views-form-macros-html-escaping">17.4.5.4. HTML escaping and XHTML compliance</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="view.html#view-xslt">17.5. XSLT</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="view.html#view-xslt-firstwords">17.5.1. My First Words</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="view.html#view-xslt-beandefs">17.5.1.1. Bean definitions</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-xslt-controllercode">17.5.1.2. Standard MVC controller code</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-xslt-subclassing">17.5.1.3. Convert the model data to XML</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-xslt-viewdefinitions">17.5.1.4. Defining the view properties</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-xslt-transforming">17.5.1.5. Document transformation</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="view.html#view-xslt-summary">17.5.2. Summary</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="view.html#view-document">17.6. Document views (PDF/Excel)</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="view.html#view-document-intro">17.6.1. Introduction</a></span>
											</dt>
											<dt>
												<span class="section"><a href="view.html#view-document-config">17.6.2. Configuration and setup</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="view.html#view-document-configviews">17.6.2.1. Document view definitions</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-document-configcontroller">17.6.2.2. Controller code</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-document-configsubclasses">17.6.2.3. Subclassing for Excel views</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-document-configsubclasspdf">17.6.2.4. Subclassing for PDF views</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="view.html#view-jasper-reports">17.7. JasperReports</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="view.html#view-jasper-reports-dependencies">17.7.1. Dependencies</a></span>
											</dt>
											<dt>
												<span class="section"><a href="view.html#view-jasper-reports-configuration">17.7.2. Configuration</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="view.html#view-jasper-reports-configuration-resolver">17.7.2.1. Configuring the
															ViewResolver</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jasper-reports-configuration-views">17.7.2.2. Configuring the Views</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jasper-reports-configuration-report-files">17.7.2.3. About Report Files</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jasper-reports-configuration-multiformat-view">17.7.2.4. Using
															JasperReportsMultiFormatView</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="view.html#view-jasper-reports-model">17.7.3. Populating the ModelAndView</a></span>
											</dt>
											<dt>
												<span class="section"><a href="view.html#view-jasper-reports-subreports">17.7.4. Working with Sub-Reports</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="view.html#view-jasper-reports-subreports-config-reports">17.7.4.1. Configuring Sub-Report Files</a></span>
													</dt>
													<dt>
														<span class="section"><a href="view.html#view-jasper-reports-subreports-config-datasources">17.7.4.2. Configuring Sub-Report Data Sources</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="view.html#view-jasper-reports-exporter-parameters">17.7.5. Configuring Exporter Parameters</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="view.html#view-feeds">17.8. Feed Views</a></span>
									</dt>
									<dt>
										<span class="section"><a href="view.html#view-xml-marshalling">17.9. XML Marshalling View</a></span>
									</dt>
									<dt>
										<span class="section"><a href="view.html#view-json-mapping">17.10. JSON Mapping View</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="web-integration.html">18. Integrating with other web frameworks</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="web-integration.html#intro">18.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="web-integration.html#web-integration-common">18.2. Common configuration</a></span>
									</dt>
									<dt>
										<span class="section"><a href="web-integration.html#jsf">18.3. JavaServer Faces 1.1 and 1.2</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="web-integration.html#jsf-delegatingvariableresolver">18.3.1. DelegatingVariableResolver (JSF 1.1/1.2)</a></span>
											</dt>
											<dt>
												<span class="section"><a href="web-integration.html#jsf-springbeanvariableresolver">18.3.2. SpringBeanVariableResolver (JSF 1.1/1.2)</a></span>
											</dt>
											<dt>
												<span class="section"><a href="web-integration.html#jsf-springbeanfaceselresolver">18.3.3. SpringBeanFacesELResolver (JSF 1.2+)</a></span>
											</dt>
											<dt>
												<span class="section"><a href="web-integration.html#jsf-facescontextutils">18.3.4. FacesContextUtils</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="web-integration.html#struts">18.4. Apache Struts 1.x and 2.x</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="web-integration.html#struts-contextloaderplugin">18.4.1. ContextLoaderPlugin</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="web-integration.html#struts-delegatingrequestprocessor">18.4.1.1. DelegatingRequestProcessor</a></span>
													</dt>
													<dt>
														<span class="section"><a href="web-integration.html#struts-delegatingactionproxy">18.4.1.2. DelegatingActionProxy</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="web-integration.html#struts-actionsupport">18.4.2. ActionSupport Classes</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="web-integration.html#webwork">18.5. WebWork 2.x</a></span>
									</dt>
									<dt>
										<span class="section"><a href="web-integration.html#tapestry">18.6. Tapestry 3.x and 4.x</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="web-integration.html#tapestry-di">18.6.1. Injecting Spring-managed beans</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="web-integration.html#tapestry-pre4-style-di">18.6.1.1. Dependency Injecting Spring Beans into Tapestry pages</a></span>
													</dt>
													<dt>
														<span class="section"><a href="web-integration.html#tapestry-componentdefs">18.6.1.2. Component definition files</a></span>
													</dt>
													<dt>
														<span class="section"><a href="web-integration.html#tapestry-getters">18.6.1.3. Adding abstract accessors</a></span>
													</dt>
													<dt>
														<span class="section"><a href="web-integration.html#tapestry-4-style-di">18.6.1.4. Dependency Injecting Spring Beans into Tapestry pages -
															Tapestry 4.x style</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="web-integration.html#web-integration-resources">18.7. Further Resources</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="portlet.html">19. Portlet MVC Framework</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="portlet.html#portlet-introduction">19.1. Introduction</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="portlet.html#portlet-introduction-controller">19.1.1. Controllers - The C in MVC</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-introduction-view">19.1.2. Views - The V in MVC</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-introduction-scope">19.1.3. Web-scoped beans</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="portlet.html#portlet-dispatcher">19.2. The DispatcherPortlet</a></span>
									</dt>
									<dt>
										<span class="section"><a href="portlet.html#portlet-viewservlet">19.3. The ViewRendererServlet</a></span>
									</dt>
									<dt>
										<span class="section"><a href="portlet.html#portlet-controller">19.4. Controllers</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="portlet.html#portlet-controller-abstractcontroller">19.4.1. AbstractController and PortletContentGenerator</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-controller-simple">19.4.2. Other simple controllers</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-controller-command">19.4.3. Command Controllers</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-controller-wrapping">19.4.4. PortletWrappingController</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="portlet.html#portlet-handlermapping">19.5. Handler mappings</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="portlet.html#portlet-handlermapping-portletmode">19.5.1. PortletModeHandlerMapping</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-handlermapping-parameter">19.5.2. ParameterHandlerMapping</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-handlermapping-portletmodeparameter">19.5.3. PortletModeParameterHandlerMapping</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-handlermapping-interceptor">19.5.4. Adding HandlerInterceptors</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-handlermapping-interceptoradapter">19.5.5. HandlerInterceptorAdapter</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-handlermapping-parameterinterceptor">19.5.6. ParameterMappingInterceptor</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="portlet.html#portlet-viewresolver">19.6. Views and resolving them</a></span>
									</dt>
									<dt>
										<span class="section"><a href="portlet.html#portlet-multipart">19.7. Multipart (file upload) support</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="portlet.html#portlet-multipart-resolver">19.7.1. Using the PortletMultipartResolver</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-multipart-forms">19.7.2. Handling a file upload in a form</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="portlet.html#portlet-exceptionresolver">19.8. Handling exceptions</a></span>
									</dt>
									<dt>
										<span class="section"><a href="portlet.html#portlet-annotation">19.9. Annotation-based controller configuration</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="portlet.html#portlet-ann-setup">19.9.1. Setting up the dispatcher for annotation support</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-ann-controller">19.9.2. Defining a controller with
													@Controller</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-ann-requestmapping">19.9.3. Mapping requests with
													@RequestMapping</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-ann-requestmapping-arguments">19.9.4. Supported handler method arguments</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-ann-requestparam">19.9.5. Binding request parameters to method parameters with
													@RequestParam</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-ann-modelattrib">19.9.6. Providing a link to data from the model with
													@ModelAttribute</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-ann-sessionattrib">19.9.7. Specifying attributes to store in a Session with
													@SessionAttributes</a></span>
											</dt>
											<dt>
												<span class="section"><a href="portlet.html#portlet-ann-webdatabinder">19.9.8. Customizing WebDataBinder
													initialization</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="portlet.html#portlet-ann-initbinder">19.9.8.1. Customizing data binding with
															@InitBinder</a></span>
													</dt>
													<dt>
														<span class="section"><a href="portlet.html#portlet-ann-webbindinginitializer">19.9.8.2. Configuring a custom
															WebBindingInitializer</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="portlet.html#portlet-deployment">19.10. Portlet application deployment</a></span>
									</dt>
								</dl>
							</dd>
						</dl>
					</dd>
					<dt>
						<span class="part"><a href="spring-integration.html">VI. Integration</a></span>
					</dt>
					<dd>
						<dl>
							<dt>
								<span class="chapter"><a href="remoting.html">20. Remoting and web services using Spring</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="remoting.html#remoting-introduction">20.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="remoting.html#remoting-rmi">20.2. Exposing services using RMI</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="remoting.html#remoting-rmi-server">20.2.1. Exporting the service using the
													RmiServiceExporter</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-rmi-client">20.2.2. Linking in the service at the client</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="remoting.html#remoting-caucho-protocols">20.3. Using Hessian or Burlap to remotely call services via HTTP</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="remoting.html#remoting-caucho-protocols-hessian">20.3.1. Wiring up the DispatcherServlet for
													Hessian and co.</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-caucho-protocols-hessian-server">20.3.2. Exposing your beans by using the
													HessianServiceExporter</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-caucho-protocols-hessian-client">20.3.3. Linking in the service on the client</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-caucho-protocols-burlap">20.3.4. Using Burlap</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-caucho-protocols-security">20.3.5. Applying HTTP basic authentication to a service exposed through
													Hessian or Burlap</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="remoting.html#remoting-httpinvoker">20.4. Exposing services using HTTP invokers</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="remoting.html#remoting-httpinvoker-server">20.4.1. Exposing the service object</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-httpinvoker-client">20.4.2. Linking in the service at the client</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="remoting.html#remoting-web-services">20.5. Web services</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="remoting.html#remoting-web-services-jaxrpc-export">20.5.1. Exposing servlet-based web services using JAX-RPC</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-web-services-jaxrpc-access">20.5.2. Accessing web services using JAX-RPC</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-web-services-jaxrpc-mapping-registration">20.5.3. Registering JAX-RPC Bean Mappings</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-web-services-jaxrpc-handler-registration">20.5.4. Registering your own JAX-RPC Handler</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-web-services-jaxws-export-servlet">20.5.5. Exposing servlet-based web services using JAX-WS</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-web-services-jaxws-export-standalone">20.5.6. Exporting standalone web services using JAX-WS</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-web-services-jaxws-export-ri">20.5.7. Exporting web services using the JAX-WS RI's Spring
													support</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-web-services-jaxws-access">20.5.8. Accessing web services using JAX-WS</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="remoting.html#remoting-jms">20.6. JMS</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="remoting.html#remoting-jms-server">20.6.1. Server-side configuration</a></span>
											</dt>
											<dt>
												<span class="section"><a href="remoting.html#remoting-jms-client">20.6.2. Client-side configuration</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="remoting.html#remoting-autodection-remote-interfaces">20.7. Auto-detection is not implemented for remote interfaces</a></span>
									</dt>
									<dt>
										<span class="section"><a href="remoting.html#remoting-considerations">20.8. Considerations when choosing a technology</a></span>
									</dt>
									<dt>
										<span class="section"><a href="remoting.html#rest-client-access">20.9. Accessing RESTful services on the Client</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="remoting.html#rest-resttemplate">20.9.1. RestTemplate</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="remoting.html#d0e37263">20.9.1.1. Dealing with request and response headers</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="remoting.html#rest-message-conversion">20.9.2. HTTP Message Conversion</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="remoting.html#rest-string-converter">20.9.2.1. StringHttpMessageConverter</a></span>
													</dt>
													<dt>
														<span class="section"><a href="remoting.html#rest-form-converter">20.9.2.2. FormHttpMessageConverter</a></span>
													</dt>
													<dt>
														<span class="section"><a href="remoting.html#rest-byte-converter">20.9.2.3. ByteArrayMessageConverter</a></span>
													</dt>
													<dt>
														<span class="section"><a href="remoting.html#rest-marhsalling-converter">20.9.2.4. MarshallingHttpMessageConverter</a></span>
													</dt>
													<dt>
														<span class="section"><a href="remoting.html#rest-mapping-json-converter">20.9.2.5. MappingJacksonHttpMessageConverter</a></span>
													</dt>
													<dt>
														<span class="section"><a href="remoting.html#rest-source-converter">20.9.2.6. SourceHttpMessageConverter</a></span>
													</dt>
													<dt>
														<span class="section"><a href="remoting.html#rest-buffered-image-converter">20.9.2.7. BufferedImageHttpMessageConverter</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="ejb.html">21. Enterprise JavaBeans (EJB) integration</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="ejb.html#ejb-introduction">21.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="ejb.html#ejb-access">21.2. Accessing EJBs</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="ejb.html#ejb-access-concepts">21.2.1. Concepts</a></span>
											</dt>
											<dt>
												<span class="section"><a href="ejb.html#ejb-access-local">21.2.2. Accessing local SLSBs</a></span>
											</dt>
											<dt>
												<span class="section"><a href="ejb.html#ejb-access-remote">21.2.3. Accessing remote SLSBs</a></span>
											</dt>
											<dt>
												<span class="section"><a href="ejb.html#ejb-access-ejb2-ejb3">21.2.4. Accessing EJB 2.x SLSBs versus EJB 3 SLSBs</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="ejb.html#ejb-implementation">21.3. Using Spring's EJB implementation support classes</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="ejb.html#ejb-implementation-ejb2">21.3.1. EJB 2.x base classes</a></span>
											</dt>
											<dt>
												<span class="section"><a href="ejb.html#ejb-implementation-ejb3">21.3.2. EJB 3 injection interceptor</a></span>
											</dt>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="jms.html">22. JMS (Java Message Service)</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="jms.html#jms-introduction">22.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="jms.html#jms-using">22.2. Using Spring JMS</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jms.html#jms-jmstemplate">22.2.1. JmsTemplate</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jms.html#jms-connections">22.2.2. Connections</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="jms.html#d0e37993">22.2.2.1. Caching Messaging Resources</a></span>
													</dt>
													<dt>
														<span class="section"><a href="jms.html#d0e38002">22.2.2.2. SingleConnectionFactory</a></span>
													</dt>
													<dt>
														<span class="section"><a href="jms.html#d0e38031">22.2.2.3. CachingConnectionFactory</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="jms.html#jms-destinations">22.2.3. Destination Management</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jms.html#jms-mdp">22.2.4. Message Listener Containers</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="jms.html#jms-mdp-simple">22.2.4.1. SimpleMessageListenerContainer</a></span>
													</dt>
													<dt>
														<span class="section"><a href="jms.html#jms-mdp-default">22.2.4.2. DefaultMessageListenerContainer</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="jms.html#jms-tx">22.2.5. Transaction management</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jms.html#jms-sending">22.3. Sending a Message</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jms.html#jms-msg-conversion">22.3.1. Using Message Converters</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jms.html#jms-callbacks">22.3.2. SessionCallback and
													ProducerCallback</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jms.html#jms-receiving">22.4. Receiving a message</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jms.html#jms-receiving-sync">22.4.1. Synchronous Reception</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jms.html#jms-asynchronousMessageReception">22.4.2. Asynchronous Reception - Message-Driven POJOs</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jms.html#jms-receiving-async-session-aware-message-listener">22.4.3. The SessionAwareMessageListener
													interface</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jms.html#jms-receiving-async-message-listener-adapter">22.4.4. The MessageListenerAdapter</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jms.html#jms-tx-participation">22.4.5. Processing messages within transactions</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jms.html#jms-jca-message-endpoint-manager">22.5. Support for JCA Message Endpoints</a></span>
									</dt>
									<dt>
										<span class="section"><a href="jms.html#jms-namespace">22.6. JMS Namespace Support</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="jmx.html">23. JMX</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="jmx.html#jmx-introduction">23.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="jmx.html#jmx-exporting">23.2. Exporting your beans to JMX</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jmx.html#jmx-exporting-mbeanserver">23.2.1. Creating an MBeanServer</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-mbean-server">23.2.2. Reusing an existing MBeanServer</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-exporting-lazy">23.2.3. Lazy-initialized MBeans</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-exporting-auto">23.2.4. Automatic registration of MBeans</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-exporting-registration-behavior">23.2.5. Controlling the registration behavior</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jmx.html#jmx-interface">23.3. Controlling the management interface of your beans</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jmx.html#jmx-interface-assembler">23.3.1. The MBeanInfoAssembler
													Interface</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-interface-metadata">23.3.2. Using Source-Level Metadata (JDK 5.0 annotations)</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-interface-metadata-types">23.3.3. Source-Level Metadata Types</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-interface-autodetect">23.3.4. The AutodetectCapableMBeanInfoAssembler
													interface</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-interface-java">23.3.5. Defining management interfaces using Java interfaces</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-interface-methodnames">23.3.6. Using
													MethodNameBasedMBeanInfoAssembler</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jmx.html#jmx-naming">23.4. Controlling the ObjectNames for your beans</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jmx.html#jmx-naming-properties">23.4.1. Reading ObjectNames from Properties</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-naming-metadata">23.4.2. Using the MetadataNamingStrategy</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-context-mbeanexport">23.4.3. The &lt;context:mbean-export/&gt; element</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jmx.html#jmx-jsr160">23.5. JSR-160 Connectors</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jmx.html#jmx-jsr160-server">23.5.1. Server-side Connectors</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-jsr160-client">23.5.2. Client-side Connectors</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-jsr160-protocols">23.5.3. JMX over Burlap/Hessian/SOAP</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jmx.html#jmx-proxy">23.6. Accessing MBeans via Proxies</a></span>
									</dt>
									<dt>
										<span class="section"><a href="jmx.html#jmx-notifications">23.7. Notifications</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="jmx.html#jmx-notifications-listeners">23.7.1. Registering Listeners for Notifications</a></span>
											</dt>
											<dt>
												<span class="section"><a href="jmx.html#jmx-notifications-publishing">23.7.2. Publishing Notifications</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="jmx.html#jmx-resources">23.8. Further Resources</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="cci.html">24. JCA CCI</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="cci.html#cci-introduction">24.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="cci.html#cci-config">24.2. Configuring CCI</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="cci.html#cci-config-connector">24.2.1. Connector configuration</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-config-connectionfactory">24.2.2. ConnectionFactory configuration in
													Spring</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-config-cci-connections">24.2.3. Configuring CCI connections</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-config-single-connection">24.2.4. Using a single CCI connection</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="cci.html#cci-using">24.3. Using Spring's CCI access support</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="cci.html#cci-record-creator">24.3.1. Record conversion</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-using-template">24.3.2. The CciTemplate</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-using-dao">24.3.3. DAO support</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#automatic-output-generation">24.3.4. Automatic output record generation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#template-summary">24.3.5. Summary</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-straight">24.3.6. Using a CCI Connection and
													Interaction directly</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-template-example">24.3.7. Example for CciTemplate usage</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="cci.html#cci-object">24.4. Modeling CCI access as operation objects</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="cci.html#cci-object-mapping-record">24.4.1. MappingRecordOperation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-object-mapping-comm-area">24.4.2. MappingCommAreaOperation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-automatic-record-gen">24.4.3. Automatic output record generation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-object-summary">24.4.4. Summary</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-objects-mappring-record-example">24.4.5. Example for MappingRecordOperation
													usage</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cci.html#cci-objects-mapping-comm-area-example">24.4.6. Example for MappingCommAreaOperation
													usage</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="cci.html#cci-tx">24.5. Transactions</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="mail.html">25. Email</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="mail.html#mail-introduction">25.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="mail.html#mail-usage">25.2. Usage</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mail.html#mail-usage-simple">25.2.1. Basic MailSender and SimpleMailMessage usage</a></span>
											</dt>
											<dt>
												<span class="section"><a href="mail.html#mail-usage-mime">25.2.2. Using the JavaMailSender and the MimeMessagePreparator</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="mail.html#mail-javamail-mime">25.3. Using the JavaMail MimeMessageHelper</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="mail.html#mail-javamail-mime-attachments">25.3.1. Sending attachments and inline resources</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="mail.html#mail-javamail-mime-attachments-attachment">25.3.1.1. Attachments</a></span>
													</dt>
													<dt>
														<span class="section"><a href="mail.html#mail-javamail-mime-attachments-inline">25.3.1.2. Inline resources</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="mail.html#mail-templates">25.3.2. Creating email content using a templating library</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="mail.html#mail-templates-example">25.3.2.1. A Velocity-based example</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="scheduling.html">26. Task Execution and Scheduling</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="scheduling.html#scheduling-introduction">26.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="scheduling.html#scheduling-task-executor">26.2. The Spring TaskExecutor
											abstraction</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-task-executor-types">26.2.1. TaskExecutor types</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-task-executor-usage">26.2.2. Using a TaskExecutor</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="scheduling.html#scheduling-task-scheduler">26.3. The Spring TaskScheduler
											abstraction</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-trigger-interface">26.3.1. The Trigger interface</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-trigger-implementations">26.3.2. Trigger implementations</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-task-scheduler-implementations">26.3.3. TaskScheduler
													implementations</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="scheduling.html#scheduling-task-namespace">26.4. The Task Namespace</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-task-namespace-scheduler">26.4.1. The 'scheduler' element</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-task-namespace-executor">26.4.2. The 'executor' element</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-task-namespace-scheduled-tasks">26.4.3. The 'scheduled-tasks' element</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="scheduling.html#scheduling-annotation-support">26.5. Annotation Support for Scheduling and Asynchronous
											Execution</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-annotation-support-scheduled">26.5.1. The @Scheduled Annotation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-annotation-support-async">26.5.2. The @Async Annotation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-annotation-support-namespace">26.5.3. The &lt;annotation-driven&gt; Element</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="scheduling.html#scheduling-quartz">26.6. Using the OpenSymphony Quartz Scheduler</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-quartz-jobdetail">26.6.1. Using the JobDetailBean</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-quartz-method-invoking-job">26.6.2. Using the
													MethodInvokingJobDetailFactoryBean</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-quartz-cron">26.6.3. Wiring up jobs using triggers and the
													SchedulerFactoryBean</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="scheduling.html#scheduling-jdk-timer">26.7. Using JDK Timer support</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-jdk-timer-creating">26.7.1. Creating custom timers</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-jdk-timer-method-invoking-task">26.7.2. Using the
													MethodInvokingTimerTaskFactoryBean</a></span>
											</dt>
											<dt>
												<span class="section"><a href="scheduling.html#scheduling-jdk-timer-factory-bean">26.7.3. Wrapping up: setting up the tasks using the
													TimerFactoryBean</a></span>
											</dt>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="dynamic-language.html">27. Dynamic language support</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="dynamic-language.html#dynamic-language-introduction">27.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="dynamic-language.html#dynamic-language-a-first-example">27.2. A first example</a></span>
									</dt>
									<dt>
										<span class="section"><a href="dynamic-language.html#dynamic-language-beans">27.3. Defining beans that are backed by dynamic languages</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="dynamic-language.html#dynamic-language-beans-concepts">27.3.1. Common concepts</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="dynamic-language.html#dynamic-language-beans-concepts-xml-language-element">27.3.1.1. The &lt;lang:language/&gt; element</a></span>
													</dt>
													<dt>
														<span class="section"><a href="dynamic-language.html#dynamic-language-refreshable-beans">27.3.1.2. Refreshable beans</a></span>
													</dt>
													<dt>
														<span class="section"><a href="dynamic-language.html#dynamic-language-beans-inline">27.3.1.3. Inline dynamic language source files</a></span>
													</dt>
													<dt>
														<span class="section"><a href="dynamic-language.html#dynamic-language-beans-ctor-injection">27.3.1.4. Understanding Constructor Injection in the context of dynamic-language-backed beans</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="dynamic-language.html#dynamic-language-beans-jruby">27.3.2. JRuby beans</a></span>
											</dt>
											<dt>
												<span class="section"><a href="dynamic-language.html#dynamic-language-beans-groovy">27.3.3. Groovy beans</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="dynamic-language.html#dynamic-language-beans-groovy-customizer">27.3.3.1. Customising Groovy objects via a callback</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="dynamic-language.html#dynamic-language-beans-bsh">27.3.4. BeanShell beans</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="dynamic-language.html#dynamic-language-scenarios">27.4. Scenarios</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="dynamic-language.html#dynamic-language-scenarios-controllers">27.4.1. Scripted Spring MVC Controllers</a></span>
											</dt>
											<dt>
												<span class="section"><a href="dynamic-language.html#dynamic-language-scenarios-validators">27.4.2. Scripted Validators</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="dynamic-language.html#dynamic-language-final-notes">27.5. Bits and bobs</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="dynamic-language.html#dynamic-language-final-notes-aop">27.5.1. AOP - advising scripted beans</a></span>
											</dt>
											<dt>
												<span class="section"><a href="dynamic-language.html#dynamic-language-final-notes-scopes">27.5.2. Scoping</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="dynamic-language.html#dynamic-language-resources">27.6. Further Resources</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="chapter"><a href="cache.html">28. Cache Abstraction</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="cache.html#cache-introduction">28.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="cache.html#cache-strategies">28.2. Understanding the cache abstraction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="cache.html#cache-annotations">28.3. Declarative annotation-based caching</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="cache.html#cache-annotations-cacheable">28.3.1. @Cacheable annotation</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="cache.html#cache-annotations-cacheable-default-key">28.3.1.1. Default Key Generation</a></span>
													</dt>
													<dt>
														<span class="section"><a href="cache.html#cache-annotations-cacheable-key">28.3.1.2. Custom Key Generation Declaration</a></span>
													</dt>
													<dt>
														<span class="section"><a href="cache.html#cache-annotations-cacheable-condition">28.3.1.3. Conditional caching</a></span>
													</dt>
													<dt>
														<span class="section"><a href="cache.html#cache-spel-context">28.3.1.4. Available caching SpEL evaluation context</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="cache.html#cache-annotations-evict">28.3.2. @CacheEvict annotation</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cache.html#cache-annotation-enable">28.3.3. Enable caching annotations</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cache.html#cache-annotation-stereotype">28.3.4. Using custom annotations</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="cache.html#cache-store-configuration">28.4. Configuring the cache storage</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="cache.html#cache-store-configuration-jdk">28.4.1. JDK ConcurrentMap-based Cache</a></span>
											</dt>
											<dt>
												<span class="section"><a href="cache.html#cache-store-configuration-ehcache">28.4.2. Ehcache-based Cache</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="cache.html#cache-plug">28.5. Plugging-in different back-end caches</a></span>
									</dt>
								</dl>
							</dd>
						</dl>
					</dd>
					<dt>
						<span class="part"><a href="spring-appendices.html">VII. Appendices</a></span>
					</dt>
					<dd>
						<dl>
							<dt>
								<span class="appendix"><a href="classic-spring.html">A. Classic Spring Usage</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="classic-spring.html#classic-spring-orm">A.1. Classic ORM usage</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="classic-spring.html#classic-spring-hibernate">A.1.1. Hibernate</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="classic-spring.html#orm-hibernate-template">A.1.1.1. The HibernateTemplate</a></span>
													</dt>
													<dt>
														<span class="section"><a href="classic-spring.html#orm-hibernate-daos">A.1.1.2. Implementing Spring-based DAOs without callbacks</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="classic-spring.html#classic-spring-jdo">A.1.2. JDO</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="classic-spring.html#orm-jdo-template">A.1.2.1. JdoTemplate and
															JdoDaoSupport</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="classic-spring.html#classic-spring-jpa">A.1.3. JPA</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="classic-spring.html#orm-jpa-template">A.1.3.1. JpaTemplate and
															JpaDaoSupport</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="classic-spring.html#clasic-spring-mvc">A.2. Classic Spring MVC</a></span>
									</dt>
									<dt>
										<span class="section"><a href="classic-spring.html#d0e44703">A.3. JMS Usage</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="classic-spring.html#d0e44721">A.3.1. JmsTemplate</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-spring.html#d0e44741">A.3.2. Asynchronous Message Reception </a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-spring.html#d0e44760">A.3.3. Connections</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-spring.html#d0e44795">A.3.4. Transaction Management</a></span>
											</dt>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="appendix"><a href="classic-aop-spring.html">B. Classic Spring AOP Usage</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-api-pointcuts">B.1. Pointcut API in Spring</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-api-concepts">B.1.1. Concepts</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-api-pointcut-ops">B.1.2. Operations on pointcuts</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-api-pointcuts-aspectj">B.1.3. AspectJ expression pointcuts</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-api-pointcuts-impls">B.1.4. Convenience pointcut implementations</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="classic-aop-spring.html#classic-aop-api-pointcuts-static">B.1.4.1. Static pointcuts</a></span>
													</dt>
													<dt>
														<span class="section"><a href="classic-aop-spring.html#classic-aop-api-pointcuts-dynamic">B.1.4.2. Dynamic pointcuts</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-api-pointcuts-superclasses">B.1.5. Pointcut superclasses</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-api-pointcuts-custom">B.1.6. Custom pointcuts</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-api-advice">B.2. Advice API in Spring</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-api-advice-lifecycle">B.2.1. Advice lifecycles</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-api-advice-types">B.2.2. Advice types in Spring</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="classic-aop-spring.html#classic-aop-api-advice-around">B.2.2.1. Interception around advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="classic-aop-spring.html#classic-aop-api-advice-before">B.2.2.2. Before advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="classic-aop-spring.html#classic-aop-api-advice-throws">B.2.2.3. Throws advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="classic-aop-spring.html#classic-aop-api-advice-after-returning">B.2.2.4. After Returning advice</a></span>
													</dt>
													<dt>
														<span class="section"><a href="classic-aop-spring.html#classic-aop-api-advice-introduction">B.2.2.5. Introduction advice</a></span>
													</dt>
												</dl>
											</dd>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-api-advisor">B.3. Advisor API in Spring</a></span>
									</dt>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-pfb">B.4. Using the ProxyFactoryBean to create AOP proxies</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-pfb-1">B.4.1. Basics</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-pfb-2">B.4.2. JavaBean properties</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-pfb-proxy-types">B.4.3. JDK- and CGLIB-based proxies</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-api-proxying-intf">B.4.4. Proxying interfaces</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-api-proxying-class">B.4.5. Proxying classes</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-global-advisors">B.4.6. Using 'global' advisors</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-concise-proxy">B.5. Concise proxy definitions</a></span>
									</dt>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-prog">B.6. Creating AOP proxies programmatically with the ProxyFactory</a></span>
									</dt>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-api-advised">B.7. Manipulating advised objects</a></span>
									</dt>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-autoproxy">B.8. Using the "autoproxy" facility</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-autoproxy-choices">B.8.1. Autoproxy bean definitions</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="classic-aop-spring.html#classic-aop-api-autoproxy">B.8.1.1. BeanNameAutoProxyCreator</a></span>
													</dt>
													<dt>
														<span class="section"><a href="classic-aop-spring.html#classic-aop-api-autoproxy-default">B.8.1.2. DefaultAdvisorAutoProxyCreator</a></span>
													</dt>
													<dt>
														<span class="section"><a href="classic-aop-spring.html#classic-aop-api-autoproxy-abstract">B.8.1.3. AbstractAdvisorAutoProxyCreator</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-autoproxy-metadata">B.8.2. Using metadata-driven auto-proxying</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-targetsource">B.9. Using TargetSources</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-ts-swap">B.9.1. Hot swappable target sources</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-ts-pool">B.9.2. Pooling target sources</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-ts-prototype">B.9.3. Prototype target sources</a></span>
											</dt>
											<dt>
												<span class="section"><a href="classic-aop-spring.html#classic-aop-ts-threadlocal">B.9.4. ThreadLocal target sources</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-extensibility">B.10. Defining new Advice types</a></span>
									</dt>
									<dt>
										<span class="section"><a href="classic-aop-spring.html#classic-aop-api-resources">B.11. Further resources</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="appendix"><a href="xsd-config.html">C. XML Schema-based configuration</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="xsd-config.html#xsd-config-introduction">C.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="xsd-config.html#xsd-config-body">C.2. XML Schema-based configuration</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="xsd-config.html#xsd-config-body-referencing">C.2.1. Referencing the schemas</a></span>
											</dt>
											<dt>
												<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-util">C.2.2. The util schema</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-util-constant">C.2.2.1. &lt;util:constant/&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-util-property-path">C.2.2.2. &lt;util:property-path/&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-util-properties">C.2.2.3. &lt;util:properties/&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-util-list">C.2.2.4. &lt;util:list/&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-util-map">C.2.2.5. &lt;util:map/&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-util-set">C.2.2.6. &lt;util:set/&gt;</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-jee">C.2.3. The jee schema</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-jee-jndi-lookup">C.2.3.1. &lt;jee:jndi-lookup/&gt; (simple)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-jee-jndi-lookup-environment-single">C.2.3.2. &lt;jee:jndi-lookup/&gt; (with single JNDI environment setting)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-jee-jndi-lookup-evironment-multiple">C.2.3.3. &lt;jee:jndi-lookup/&gt; (with multiple JNDI environment settings)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-jee-jndi-lookup-complex">C.2.3.4. &lt;jee:jndi-lookup/&gt; (complex)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-jee-local-slsb">C.2.3.5. &lt;jee:local-slsb/&gt; (simple)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-jee-local-slsb-complex">C.2.3.6. &lt;jee:local-slsb/&gt; (complex)</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-jee-remote-slsb">C.2.3.7. &lt;jee:remote-slsb/&gt;</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-lang">C.2.4. The lang schema</a></span>
											</dt>
											<dt>
												<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-jms">C.2.5. The jms schema</a></span>
											</dt>
											<dt>
												<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-tx">C.2.6. The tx (transaction) schema</a></span>
											</dt>
											<dt>
												<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-aop">C.2.7. The aop schema</a></span>
											</dt>
											<dt>
												<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-context">C.2.8. The context schema</a></span>
											</dt>
											<dd>
												<dl>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-context-pphc">C.2.8.1. &lt;property-placeholder/&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-context-ac">C.2.8.2. &lt;annotation-config/&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-context-component-scan">C.2.8.3. &lt;component-scan/&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-context-ltw">C.2.8.4. &lt;load-time-weaver/&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-context-sc">C.2.8.5. &lt;spring-configured/&gt;</a></span>
													</dt>
													<dt>
														<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-context-mbe">C.2.8.6. &lt;mbean-export/&gt;</a></span>
													</dt>
												</dl>
											</dd>
											<dt>
												<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-tool">C.2.9. The tool schema</a></span>
											</dt>
											<dt>
												<span class="section"><a href="xsd-config.html#xsd-config-body-schemas-beans">C.2.10. The beans schema</a></span>
											</dt>
										</dl>
									</dd>
								</dl>
							</dd>
							<dt>
								<span class="appendix"><a href="extensible-xml.html">D. Extensible XML authoring</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="extensible-xml.html#extensible-xml-introduction">D.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="extensible-xml.html#extensible-xml-schema">D.2. Authoring the schema</a></span>
									</dt>
									<dt>
										<span class="section"><a href="extensible-xml.html#extensible-xml-namespacehandler">D.3. Coding a NamespaceHandler</a></span>
									</dt>
									<dt>
										<span class="section"><a href="extensible-xml.html#extensible-xml-parser">D.4. Coding a BeanDefinitionParser</a></span>
									</dt>
									<dt>
										<span class="section"><a href="extensible-xml.html#extensible-xml-registration">D.5. Registering the handler and the schema</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="extensible-xml.html#extensible-xml-registration-spring-handlers">D.5.1. 'META-INF/spring.handlers'</a></span>
											</dt>
											<dt>
												<span class="section"><a href="extensible-xml.html#extensible-xml-registration-spring-schemas">D.5.2. 'META-INF/spring.schemas'</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="extensible-xml.html#extensible-xml-using">D.6. Using a custom extension in your Spring XML configuration</a></span>
									</dt>
									<dt>
										<span class="section"><a href="extensible-xml.html#extensible-xml-meat">D.7. Meatier examples</a></span>
									</dt>
									<dd>
										<dl>
											<dt>
												<span class="section"><a href="extensible-xml.html#extensible-xml-custom-nested">D.7.1. Nesting custom tags within custom tags</a></span>
											</dt>
											<dt>
												<span class="section"><a href="extensible-xml.html#extensible-xml-custom-just-attributes">D.7.2. Custom attributes on 'normal' elements</a></span>
											</dt>
										</dl>
									</dd>
									<dt>
										<span class="section"><a href="extensible-xml.html#extensible-xml-resources">D.8. Further Resources</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="appendix"><a href="springbeansdtd.html">E. spring-beans-2.0.dtd</a></span>
							</dt>
							<dt>
								<span class="appendix"><a href="spring.tld.html">F. spring.tld</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld-intro">F.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld.bind">F.2. The bind tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld.escapeBody">F.3. The escapeBody tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld.hasBindErrors">F.4. The hasBindErrors tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld.htmlEscape">F.5. The htmlEscape tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld.message">F.6. The message tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld.nestedPath">F.7. The nestedPath tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld.theme">F.8. The theme tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld.transform">F.9. The transform tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld.url">F.10. The url tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring.tld.html#spring.tld.eval">F.11. The eval tag</a></span>
									</dt>
								</dl>
							</dd>
							<dt>
								<span class="appendix"><a href="spring-form.tld.html">G. spring-form.tld</a></span>
							</dt>
							<dd>
								<dl>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld-intro">G.1. Introduction</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.checkbox">G.2. The checkbox tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.checkboxes">G.3. The checkboxes tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.errors">G.4. The errors tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.form">G.5. The form tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.hidden">G.6. The hidden tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.input">G.7. The input tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.label">G.8. The label tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.option">G.9. The option tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.options">G.10. The options tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.password">G.11. The password tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.radiobutton">G.12. The radiobutton tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.radiobuttons">G.13. The radiobuttons tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.select">G.14. The select tag</a></span>
									</dt>
									<dt>
										<span class="section"><a href="spring-form.tld.html#spring-form.tld.textarea">G.15. The textarea tag</a></span>
									</dt>
								</dl>
							</dd>
						</dl>
					</dd>
				</dl>
			</div>
		</div><!--Begin LoopFuse code--><script src="http://loopfuse.net/webrecorder/js/listen.js" type="text/javascript"></script>
		<script type="text/javascript">
_lf_cid = "LF_48be82fa";
_lf_remora();
		</script><!--End LoopFuse code-->
		<div class="navfooter">
			<hr>
			<table width="100%" summary="Navigation footer">
				<tr>
					<td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="spring-introduction.html">Next</a></td>
				</tr>
				<tr>
					<td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;Part&nbsp;I.&nbsp;Overview of Spring Framework</td>
				</tr>
			</table>
		</div>
	</body>
</html>